package com.ruoyi.fs.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 还款计划对象 fs_case_repayment_schedule
 * 
 * @author hero
 * @date 2024-11-11
 */
public class FsCaseRepaymentSchedule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 案件id */
    @Excel(name = "案件id")
    private Long caseId;

    /** 还款id */
    @Excel(name = "还款id")
    private Long repaymentId;

    /** 序号 */
    @Excel(name = "序号")
    private Integer xh;

    /** 计划日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date jhrq;

    /** 计划金额 */
    @Excel(name = "计划金额")
    private BigDecimal jhje;

    /** 状态 */
    @Excel(name = "状态")
    private Integer zt;

    /** 实还日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实还日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shrq;

    /** 实还金额 */
    @Excel(name = "实还金额")
    private BigDecimal shje;

    /** 所属人 */
    @Excel(name = "所属人")
    private Long ssr;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gxsj;

    /** 审核人 */
    @Excel(name = "审核人")
    private Long scr;

    private String scrMc;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scsj;


    private BigDecimal yhje;
    private BigDecimal dshje;
    private FsCase fsCase;

    public BigDecimal getYhje() {
        return yhje;
    }

    public void setYhje(BigDecimal yhje) {
        this.yhje = yhje;
    }

    public BigDecimal getDshje() {
        return dshje;
    }

    public void setDshje(BigDecimal dshje) {
        this.dshje = dshje;
    }

    private List<FsCaseRepaymentScheduleFile> files;

    private List<FsCaseRepaymentSchedulePay> pays;

    public List<FsCaseRepaymentSchedulePay> getPays() {
        return pays;
    }

    public void setPays(List<FsCaseRepaymentSchedulePay> pays) {
        this.pays = pays;
    }

    public List<FsCaseRepaymentScheduleFile> getFiles() {
        return files;
    }

    public void setFiles(List<FsCaseRepaymentScheduleFile> files) {
        this.files = files;
    }

    public String getScrMc() {
        return scrMc;
    }

    public void setScrMc(String scrMc) {
        this.scrMc = scrMc;
    }

    public FsCase getFsCase() {
        return fsCase;
    }

    public void setFsCase(FsCase fsCase) {
        this.fsCase = fsCase;
    }
    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCaseId(Long caseId) 
    {
        this.caseId = caseId;
    }

    public Long getCaseId() 
    {
        return caseId;
    }
    public void setRepaymentId(Long repaymentId) 
    {
        this.repaymentId = repaymentId;
    }

    public Long getRepaymentId() 
    {
        return repaymentId;
    }
    public void setXh(Integer xh) 
    {
        this.xh = xh;
    }

    public Integer getXh() 
    {
        return xh;
    }
    public void setJhrq(Date jhrq) 
    {
        this.jhrq = jhrq;
    }

    public Date getJhrq() 
    {
        return jhrq;
    }
    public void setJhje(BigDecimal jhje) 
    {
        this.jhje = jhje;
    }

    public BigDecimal getJhje() 
    {
        return jhje;
    }
    public void setZt(Integer zt) 
    {
        this.zt = zt;
    }

    public Integer getZt() 
    {
        return zt;
    }
    public void setShrq(Date shrq) 
    {
        this.shrq = shrq;
    }

    public Date getShrq() 
    {
        return shrq;
    }
    public void setShje(BigDecimal shje) 
    {
        this.shje = shje;
    }

    public BigDecimal getShje() 
    {
        return shje;
    }
    public void setSsr(Long ssr) 
    {
        this.ssr = ssr;
    }

    public Long getSsr() 
    {
        return ssr;
    }
    public void setGxsj(Date gxsj) 
    {
        this.gxsj = gxsj;
    }

    public Date getGxsj() 
    {
        return gxsj;
    }

    public Long getScr() {
        return scr;
    }

    public void setScr(Long scr) {
        this.scr = scr;
    }

    public Date getScsj() {
        return scsj;
    }

    public void setScsj(Date scsj) {
        this.scsj = scsj;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("caseId", getCaseId())
            .append("repaymentId", getRepaymentId())
            .append("xh", getXh())
            .append("jhrq", getJhrq())
            .append("jhje", getJhje())
            .append("zt", getZt())
            .append("shrq", getShrq())
            .append("shje", getShje())
            .append("ssr", getSsr())
            .append("gxsj", getGxsj())
            .append("scr", getScr())
            .append("scsj", getScsj())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
